package netty.rpc.core;

import java.io.Serializable;
import java.util.Arrays;
import java.util.List;

/**
 * 方法定义
 * @author Jim
 * @version 1.0.0
 * @descripition:
 * @date 2022/5/24 8:28
 */
public class MethodDefinition implements Serializable {
    private static final long serialVersionUID = 2640578184825691837L;
    /**
     * 方法名称
     */
    private String methodName;

    /**
     * 参数类型列表
     */
    private List<String> parameterTypes;

    public String getMethodName() {
        return methodName;
    }

    public void setMethodName(String methodName) {
        this.methodName = methodName;
    }

    public List<String> getParameterTypes() {
        return parameterTypes;
    }

    public void setParameterTypes(List<String> parameterTypes) {
        this.parameterTypes = parameterTypes;
    }

    @Override
    public String toString() {
        return "MethodDefinition{" +
                "methodName='" + methodName + '\'' +
                ", parameterTypes=" + parameterTypes +
                '}';
    }

    //TODO 方法级别的  超时、重试、限流、熔断、降级等策略配置

}
